﻿using System;
using KPIS.GERP.GFMS.MODEL;
using System.Collections.Generic;
using System.Data;

namespace KPIS.GERP.GFMS.IDAL
{
    public interface IDAL_BGM_ProjectOperation
    {
        IList<M_BGM_ProjectOperation> GetFull(Nullable<int> bgm_source_seq, Nullable<int> bgm_year
            , Nullable<int> job_site_seq, Nullable<int> bgm_proj_seq
            , Nullable<DateTime> use_date, bool IsUse, bool ApproveOnly);
        IList<M_BGM_ProjectOperation> GetList(Nullable<int> bgm_source_seq, Nullable<int> bgm_year
            , Nullable<int> job_site_seq, Nullable<int> bgm_proj_seq
            , Nullable<DateTime> use_date, bool IsUse, bool ApproveOnly);
        IList<M_BGM_ProjectOperation> GetProjectListByEmpSeq(Nullable<int> bgm_year, Nullable<int> bgm_source_seq, Nullable<int> emp_seq);
        IList<M_BGM_ProjectOperation> GetListByBgmOptionSeq(Nullable<int> bgm_year, Nullable<int> bgm_option_seq);
        M_BGM_ProjectOperation GetInfo(int seq);
        bool HaveAmountExist(int bgm_proj_oper_seq);
        //string SelectRecentInsertedRoleSeq();

        string Insert(M_BGM_ProjectOperation info);
        void Update(M_BGM_ProjectOperation info);
        void Delete(M_BGM_ProjectOperation info);
        void ChangeStatus(M_BGM_ProjectOperation info);
        void CloseOperation(M_BGM_ProjectOperation info);

        DataTable Report_ProjectOperation(Nullable<int> seq);
        DataTable SubReport_ProjectOperation(Nullable<int> seq);
        DataTable Report_ProjectOperationEdit(Nullable<int> seq);
        DataTable SubReport_ProjectOperationEdit(Nullable<int> seq);
        string GetOptionProduct(Nullable<int> seq);
        string ProjectOprationCode(string strBgmProjOperSeq);
    }
}
